`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2021/10/17 17:09:24
// Design Name: 
// Module Name: sweeper
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module sweeper(
    input [3:0] in0,
    input en_in,
    input [3:0] in1,
    input [3:0] in2,
    input [3:0] in3,
    input [1:0] cpdiv,
    input rst,
    output reg [3:0] out,
    output reg [3:0] en
    );

    
    always @(*) begin
        if (!rst) begin
            out = 4'b1111;
        end
        else begin
            case (cpdiv)
                2'b00:out = in0;    
                2'b01:out = in1;  
                2'b10:out = in2;                  
                2'b11:out = in3; 
                default:out = 4'b1111;
            endcase
        end
    end
    always @(*) begin
        if(!rst) en = 4'b0000;
        else begin
            if (en_in)
            case (cpdiv)
                2'b00:en=4'b0001;
                2'b01:en=4'b0010;
                2'b10:en=4'b0100;
                2'b11:en=4'b1000; 
                default: en=4'b0000;
            endcase
            else
                en=4'b0000;
        end
    end

endmodule
